/** - - - - - - - - - - - - - - - - - - - - -*
 * Name:		Heinrich
 * Vorname:		Klaus-W. Heinrich
 * MatrNr:		197282
 *
 * Dateiname:	AndroidsChoiceGame.java
 * Packagename:	de.androidschoice.androids.choice.objects
 * Projektname:	AndroidsChoice
 * Erst.Datum:	15.09.2012
 * - - - - - - - - - - - - - - - - - - - - -*/
package de.androidschoice.androids.choice.objects;

import java.io.File;

import android.util.SparseArray;

import de.androidschoice.androids.choice.interfaces.Game;
import de.androidschoice.androids.choice.interfaces.GameScene;

/**
 * @author Klaus
 *
 */
public class AndroidsChoiceGame
	implements Game
{
	private final File image;
	private final String title;
	
	private final SparseArray<GameScene> gameSzenes = new SparseArray<GameScene>();
	
	/**
	 * Erstellt ein neues AndroidsChoiceGame mit den angegebenen Parametern
	 * @param title
	 * Der Titel des Spieles
	 * @param image
	 * Das Image des Spieles als Pfadangabe
	 */
	public AndroidsChoiceGame(String title, String image)
	{
		this(title, new File(image));
	}
	
	/**
	 * Erstellt ein neues AndroidsChoiceGame mit den angegebenen Parametern
	 * @param title
	 * Der Titel des Spieles
	 * @param image
	 * Das Image des Spieles
	 */
	public AndroidsChoiceGame(String title, File image)
	{
		this.image = image;
		this.title = title;
	}

	/* (non-Javadoc)
	 * @see de.androidschoice.androids.choice.interfaces.Game#getScene(java.lang.Integer)
	 */
	public GameScene getScene(Integer sceneNum) {
		return this.gameSzenes.get(sceneNum);
	}

	/* (non-Javadoc)
	 * @see de.androidschoice.androids.choice.interfaces.Game#getGameImage()
	 */
	public File getGameImage() {
		return this.image;
	}

	/* (non-Javadoc)
	 * @see de.androidschoice.androids.choice.interfaces.Game#getGameTitle()
	 */
	public String getGameTitle() {
		return this.title;
	}
	
	/**
	 * Fügt eine neue Szene dem AndroidsChoiceGame hinzu
	 * @param scene
	 */
	public void addGameScene(GameScene scene)
	{
		this.gameSzenes.append(scene.getNumber(), scene);
	}

}
